package com.example.tse.rbhttpservice.service.common;

import com.example.tse.rbhttpservice.service.common.model.CommonGetADListRequest;
import com.example.tse.rbhttpservice.service.common.model.CommonGetADListResponse;
import com.example.tse.rbhttpservice.service.common.model.CommonGetRegionListRequest;
import com.example.tse.rbhttpservice.service.common.model.CommonGetRegionListResponse;
import com.example.tse.rbhttpservice.service.common.model.CommonGetStatusRequest;
import com.example.tse.rbhttpservice.service.common.model.CommonGetStatusResponse;
import com.example.tse.rbhttpservice.service.common.model.CommonShareGoodsRequest;
import com.example.tse.rbhttpservice.service.common.model.CommonShareGoodsResponse;
import  com.example.tse.rbhttpservice.service.RemoteServiceListenerT;

/**
*
* @author wliu
*  edit   tse
*/
public interface CommonService {
/**
* 获取某位置的广告，用于可能需要的地方（首页除外）
* @param request
* @param listener
* @return CommonGetADListResponse
*/
void getADList(CommonGetADListRequest request, RemoteServiceListenerT
        <CommonGetADListResponse> listener);

/**
* 获取省市区，默认获取省列表，
* @param request
* @param listener
* @return CommonGetRegionListResponse
*/
void getRegionList(CommonGetRegionListRequest request, RemoteServiceListenerT
        <CommonGetRegionListResponse> listener);

/**
* 获取统计状态，包括购物车状态（0购物车没有数据1购物车有数据）、个人中心中是否有更新状态（统计我的关注＋我的粉丝数量，大于0显示否则不显示）
* @param request
* @param listener
* @return CommonGetStatusResponse
*/
void getStatus(CommonGetStatusRequest request, RemoteServiceListenerT
        <CommonGetStatusResponse> listener);

/**
* APP中分享前调用该接口，生成需要的分享商品页面
* @param request
* @param listener
* @return CommonShareGoodsResponse
*/
void shareGoods(CommonShareGoodsRequest request, RemoteServiceListenerT
        <CommonShareGoodsResponse> listener);

    }
